package com.empire.module.member.service.mapconfig;

import com.empire.module.member.controller.admin.mapconfig.vo.*;
import com.empire.module.member.dal.dataobject.mapconfig.MapConfigDO;
import com.empire.framework.common.pojo.PageResult;

import javax.validation.Valid;
import java.util.List;

/**
 * 地图配置主 Service 接口
 *
 * @author 主席大人
 */
public interface MapConfigService {

    /**
     * 创建地图配置主
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    String createMapConfig(@Valid MapConfigSaveReqVO createReqVO);

    /**
     * 更新地图配置主
     *
     * @param updateReqVO 更新信息
     */
    void updateMapConfig(@Valid MapConfigSaveReqVO updateReqVO);

    /**
     * 删除地图配置主
     *
     * @param id 编号
     */
    void deleteMapConfig(String id);

    /**
     * 获得地图配置主
     *
     * @param id 编号
     * @return 地图配置主
     */
    MapConfigDO getMapConfig(String id);

    /**
     * 获得地图配置主分页
     *
     * @param pageReqVO 分页查询
     * @return 地图配置主分页
     */
    PageResult<MapConfigDO> getMapConfigPage(MapConfigPageReqVO pageReqVO);

    /**
     * 获得预警配置下拉框
     *
     * @param reqVO 查询参数
     * @return 预警配置下拉框
     */
    List<MapConfigDO> getConfigSelect(WarnConfigListVo reqVO);

    /**
     * 查询证件号码对应的配置ID
     *
     * @param idNumber 证件号码
     * @return 配置Id集合
     */
    List<String> getConfigIdByIdNumber(String idNumber);

}